/*
 * @Author: 肖芬芳 1911683843@qq.com
 * @Date: 2022-09-23 16:00:37
 * @LastEditors: 肖芬芳 1911683843@qq.com
 * @LastEditTime: 2022-12-05 10:59:36
 * @FilePath: \node_study\model\role.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
// 数据库操作
const mongoose = require('mongoose');
// 模型规则类
const { Schema } = mongoose;
// 对象规则验证
// const Joi = require('joi');
// hash密码
// const bcrypt = require('bcryptjs');
// const { func } = require('joi');

// 用户集合规则
const RoleSchema = new Schema({
    // 角色名
    role: {
        type: String,
        required: true,
        maxlength: 30
    },
    // 创建时间
    createTime: {
        type: Number,  //时间戳必须用Number数据类型
        required: true,
    },
    // 状态
    status: {
        // 0 未激活 1 激活
        type: Number,
        default: 1
    },
    children:{
        type:Array,
        required:true
    }
}, { versionKey: false });

// 用户集合类
const Role = mongoose.model('Role', RoleSchema);

// create();

// 创建集合
async function create() {

    // 初始化用户
    const role = await Role.create({
        role: '系统管理员',
        createTime:new Date().getTime(),  //生成时间戳
        // 1表示启用
        status: 1,
        children:[{
            id: 10002,
            authName: '文章管理',
            children: [{
                id:12001,
                authName:'文章管理',
                children:[{
                    id:12101,
                    authName:'新增'
                },{
                    id:12102,
                    authName:'编辑'
                },{
                    id:12103,
                    authName:'搜索'
                }]
            }]
        }]
    });
}

// create();

module.exports = {
    Role
}